MATLAB重要知识及在美赛真题中的应用
Hello!
这是你与「大学生科研竞赛」的第 166 次相遇。
又到了美赛栏目啦,今天小竞为大家重磅推出MATLAB在数学建模美赛中的真题应用举例,让大家更具体地对如何运用MATLAB解美赛题目形成一个更直观的认识。
真题应用举例一共分为运算和绘图两大版块,在介绍真题应用之前,小竞还为大家整理了相应的重要基础知识,可以帮助大家快速入门MATLAB,抛砖引玉~
1
MATLAB在美赛中的运算应用
01
MATLAB运算重要基础知识
(一)命令行的一般形式
在MATLAB的应用中,最基本、最简单的应用,就是在命令窗口中直接输入命令来实现计算或绘图功能。
MATLAB命令行的一般形式为:
变量=表达式 如:A=1+2
表达式 如:1+2
(二)命令行的运算编辑
1.运用(>>)
启动MATLAB后,就可以利用MATLAB工作。由于MATLAB是一种交互式语言,随时输入命令,即时给出运算结果是它的工作方式。
在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:
>> (5*2+1.3-0.8)*10/25
ans =4.2000
敲黑板!
①ans 是一个保留的MATLAB字符串,它表示上面一个式子的返回结果,用于结果的缺省变量名。
②">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由于编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。
③MATLAB中的常用运算符号为:加(+)、减(-)、乘(*)、除(/)以及幂次运算(^)。
2.运用变数赋值
我们也可将上述运算式的结果设定给另一个变数x:
x = (5*2+1.3-0.8)*10^2/25
x = 42
此时MATLAB会直接显示x的值。
若不想让MATLAB每次都显示运算结果,只需在运算式最后加上分号(;)即可,如下所示:
y = sin(10)*exp(-0.3*4^2);
若要显示变数y的值,直接键入y即可:
>>y
Y=-0.0045。
02
MATLAB在美赛真题中的运算应用
以2017年美赛B题为例,真题翻译如下图所示:
图1 2017年美赛B题题目
赛题大意为根据一些限制条件提出一种优化的高速路收费站建设方案,包括收费区域的形状、大小以及合并车道方案。当年解题的热门思路之一为运用元胞自动机算法进行模拟。
元胞自动机实质上是定义在一个具有离散、有限状态的元胞组成的元胞空间上,并按照一定的局部规则,在离散的时间维度上演化的动力学系统。已被应用于物理模拟、生物模拟等领域。
在B题中,若想运用元胞自动机进行模拟,则势必要解决繁琐的运算问题,这种大量级的运算在赛事期间是不可能通过手工计算得出理想结果的,运用EXCEL等基础软件同样非常耗时耗力。
而在MATLAB中,元胞可以被理解为矩阵中的一点或多点组成的方形块,一般用矩阵中的一点代表一个元胞。因此,我们可以利用MATLAB编程,将元胞自动机繁复的运算变得可行而迅速。下图所示是一位参赛者的代码。
图2MATLAB元胞自动机部分代码
2
MATLAB在美赛中的绘图应用
01
MATLAB绘图重要基础知识
(一)二维图形的绘制
因MATLAB的图形是通过描点、连线来实现的,故在绘制简单平面图形时需要提供图形上的一系列点的横纵坐标,然后将这些点链接起来。其具体图形绘制命令为:
plot(X,Y,’S’)
其中X,Y是向量,分别是由所有点的横坐标和纵坐标构成的向量,S是一字符串,用于确定线的颜色,点的绘制形状及点与点的链接方式。
通过在命令窗口中输入help plot命令可以查看S的具体编写方式。Y有时可以是一矩阵,届时将对同一自变量绘制多条曲线。
例1.画出一条正弦曲线和一条余弦曲线。
解:
>>x=0:pi/10:2*pi; %构造向量
>>y1=sin(x); %构造对应的y1坐标
>>y2=cos(x); %构造对应的y2坐标
>>plot(x,y1,x,y2) %画出一个以x为横坐标,y1,y2为纵坐标的图形
图3 例1绘图结果
例2.某次考试学生成绩优秀的占8%,良好的占20%,中等的占36%,及格的占24%,不及格的占12%。分别用饼图和条形图表示。
解:
>> x=[8 20 36 24 12];
>> subplot(221);pie(x,[1 0 0 0 1]);
>> title('饼图');
>> subplot(222);bar(x,'grpup');
>> title('垂直条形图');
>> subplot(223);bar(x,'stack');
>> title('累加值为纵坐标的垂直条形图');
>> subplot(224);barh(x,'group');
>> title('水平条形图');
图4 例2绘图结果
(二)曲线控制的命令
在使用plot等命令绘制曲线时可以指定曲线的颜色、线型和数据点图标。基本的调用格式为:
plot(x,y,'color line-style marker')。
表1MATLAB绘图颜色调用命令
字符 | 颜色 | 字符 | 颜色 |
b | 蓝色 | m | 紫红色 |
c | 青色 | r | 红色 |
g | 绿色 | w | 白色 |
k | 黑色 | y | 黄色 |
表2MATLAB绘图数据点形式
标记符号 | 数据点形式 | 标记符号 | 数据点形式 |
. | 实心圆点 | > | 大于号 |
o(字母) | 空心圆点 | < | 小于号 |
x | 叉号 | s | 正方形 |
+ | 加号 | d | 菱形 |
* | 星号 | h | 六角星 |
v | 向下的三角形 | p | 五角星 |
^ | 向上的三角形 |
例3.用红色、点连线、叉号画出正弦曲线。
解:
>>x=0:0.2:8;
>>y=sin(x);
>>plot(x,y,'r:x')
图5 例3绘图结果
02
MATLAB在美赛真题中的绘图应用
以2017年美赛F题为例,赛题大意为:在一系列条件的限制下,请建立科学的火星移民计划模型,并进行多方面效益分析。
在这个赛题中,许多参赛者都对火星移动轨迹进行了图片式的可视化展现,常见的一种方法为从文献资料中搜索图片直接搬运到论文当中,这种方法若能处理好整篇图文的统一性、融合度,也是可取的。
但另一种更出色的方法为自行通过模拟汇出图形,这种方法通过MATLAB编制绘图代码便可以轻松实现。
如:t=-pi:pi/500:pi;
Y=tan(sin(t))-sin(tan(t));comet(t,y)
图6 火星轨迹绘图结果
以上就是对MATLAB在美赛真题中主要应用的介绍,一是运算,二是绘图,这也是常说掌握了MATLAB就基本足够解决美赛题目的原因之一。前者是论文的支柱,后者是论文的血肉,两者相辅相成,对比赛结果均起着非常重要的作用。
小竞推荐大家在学习MATLAB时,一是掌握必备知识点的学习,这可以通过工具书、网络资源进行自学;二是要学以致用,通过研究往年真题对MATLAB的需求,在学习内容上有所侧重,这样才可以事半功倍。
本期福利
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到更多小竞的推送,强烈建议星标我们,并且给我们多点点【在看】哦~星标具体步骤为:
(1)点击页面最上方“大学生科研竞赛”,进入公众号主页(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持与陪伴,小竞会更加努力输出高质量的推文哦,助力小伙伴们科研竞赛冲冲冲!
【福利资料】Origin | Visio | LaTeX | NoteExpress | Stata | SCI写作模板 | R语言 | SPSS | MATLAB | 四六级 | 英语竞赛 | 计算机二级押题 | Python | 数学竞赛 | 数学建模 | Endnote | 海报 | 创业比赛 | SCI实验技术资源 | PDF编辑器 | Excel | 大数据 | 教师资格证 | office | 公务员 | 数模经典算法、优秀论文 | PPT教程 | 学生工作PPT | PS | RP | Adobe 全家桶合集 | 思维导图PPT | “盐系”PPT | 电子书 | 地图图表PPT模板 | 文献管理软件 | 大英赛备考核心词组 | 毕业论文大礼包 | 教资押题卷 | 经管超全保研资料 | 红专PPT模板 | SCI文献神器 | Lingo17.0安装教程 | 文献下载 | 论文润色神器 | 机械创新设计大赛 | Procreate | 文献综述资料 | SCI杂志缩写 | 电脑护眼软件 | Origin小技巧
【论文干货】
7个论文降重技巧 | 理工小白如何入门科研 | 本科做科研的意义 | 论文如何选题 | 学术期刊分类和质量辨析 | 小白如何开启数模之路 | 北大学长的学术论文写作秘籍 | 本科生如何发表论文 | 如何阅读文献 | 论文写作干货技巧 | 英文学术期刊分类最全解读 | 英文文献检索网站、插件和软件 | 期刊投稿时如何回复审稿人意见? | 最全SCI期刊点评 | 好的论文标题都是这样的 | 免费期刊全文数据库 | 期刊论文投稿撰写邮件 | 科研小白如何搭建论文框架 | 论文写作中使用图表的注意事项 | 经管类常用数据库 | 国内外文献查找的19种途径 | 9大实用的论文研究方法
【竞赛通知】美国数学建模竞赛(MCM/ICM) | 发现杯”全国大学生互联网软件设计大奖赛 | 全国高校创新英语挑战活动英语词汇赛 | 全国大学生电子商务“创新、创意及创业”挑战赛 | 产教融合创新创业大赛 | 大学生创意写作短篇小说大赛征稿通知 | 大学生电子商务“创新、创意及创业”挑战赛 | 国际摄影艺术展览征稿 | 2020“画意中国”摄影大展 | 中国生态环境保护吉祥物文化创意作品征集 | 中国杭州大学生创业大赛 | 公共安全创新创业大赛 | 全国大学生工业化建筑与智慧建造竞赛 | “助学•筑梦•铸人”主题活动 | 全国大学生机器人大赛 | 【知识竞赛】网上重走长征路”暨推动“四史”学习教育 | 长三角大学生短视频大赛 | 全国高校书籍装帧艺术展征稿 | “诗词中国”征稿 | 中国大学生创意节 | 中国大学生服务外包创新创业大赛 | 蓝桥杯全国软件和信息技术专业人才大赛 | “红色旅游进校园”案例作品征集 | 中国游戏创新大赛 | 中国智慧城市数据开放创新应用大赛 | “聚光杯”全国环境微视频暨摄影大赛 | 全国动漫美术作品展览征稿 | 全国高校体育教育专业学生基本功大赛 | 全国美术高峰论坛征稿 | 宝洁CEO挑战赛正式开启! | 全国美术作品展征稿 | 全国农民摄影大展 | 爱心献浆志愿者大会主宣传语及视觉背景设计征集 | 全国大学生算法设计与编程挑战赛 | 全国高校数字艺术设计大赛 | 全国大学生机器人大赛 | 国际大学生时尚设计盛典赛 | 防止传销进校园主题创意作品征集 | 中国节日创意大赛 | 微信摄影时刻全国短视频作品征集 | 未来座舱创新设计大赛 | 中国大学生医学技术技能大赛 | 中国画青年扶持计划双年展征稿 | 全国大中学生第十届海洋文化创意设计大赛作品征集 | 影创杯剧本大赛 | “唐宋八大家”主题文创设计大赛启事 | 中国篮球博物馆名称和标识征集 | 全国高等院校学生“斯维尔杯”BIM-CIM创新大赛 | 海洋文化创意设计大赛 | 全国周培源大学生力学竞赛 | “北斗杯”全国青少年科技创新大赛 | “聚光杯”全国环境微视频暨摄影大赛 | MathorCup高校数学建模挑战赛 | 全国大学生英语辩论赛开赛通知 | 上海市大学生计算机应用能力大赛 | 中欧工业设计创新大赛 | 大学生夏季运动会歌曲征集 | 榜样的力量-2021雷锋精神国际公益海报设计大展 | 光华管理学院案例大赛 | 全国数独大赛 | 油气储运工程设计大赛 | 校服设计大赛 | 职业健康传播作品征集